SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[SP_VALI_CONT_Q02]
/*--------------------------------------------------------*/  
/*---Empresa               OFISIS S.A.                 --*/  
/*---PROVnte               OFISIS         --*/  
/*---Sistema               Tesoreria                   --*/  
/*---M¸dulo                Empresa                     --*/  
/*---Programa              Movimientos No Migrados a Contabilidad  --*/  
/*---Script                SP_VALI_CONT_Q02.sql      --*/  
/*---Nombre SP             SP_VALI_CONT_Q02          --*/  
/*---Desarrollado por      Reynaldo Menacho Luyo       --*/  
/*---Fecha Creaci¸n        15/03/2004                  --*/  
/*---Base Datos            SQL SERVER           --*/  
/*---Versi¸n               2000                         --*/  
/*---Invoca a SP                                       --*/  
/*--------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     :   --*/  
/*---Fecha Modificaci®n   :   --*/   
/*---Detalle Modificaci®n :   --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_VALI_CONT_Q02                      --*/  
/*---Grant Execute on SP_VALI_CONT_Q02 to public         --*/   
/*--- SP_VALI_CONT_Q02 '01', 2003, 12, 'S', 'S', 'S', 'S' --*/  
/*-------------------------------------------------------*/  
  
@ISCO_EMPR 	TD_VC_002,
@INNU_ANNO	TD_IN_001,
@INNU_MESE	TD_IN_001,
@ISST_CAJA	TD_VC_001,  
@ISST_BANC	TD_VC_001,
@ISST_CXCB	TD_VC_001,
@ISST_CXPA	TD_VC_001  
AS  
  
 CREATE TABLE #TWMOVI_CONT_Q02_1
 ( CO_CLAV      varchar(2) NULL,
   CO_0001 	varchar(20) NULL,
   CO_0002 	varchar(20) NULL,
   CO_0003 	varchar(20) NULL,
   CO_0004 	varchar(20) NULL,
   CO_0005 	varchar(20) NULL,
   CO_0006 	varchar(20) NULL,
   CO_0007 	varchar(20) NULL,
   CO_TIPO_OPER varchar(3) NULL,
   FE_OPER	datetime NULL,
   CO_MONE 	varchar(3) NULL,
   IM_TESO 	numeric(16,4) DEFAULT 0,
   IM_CONT 	numeric(16,4) DEFAULT 0,
   FA_TIPO_CAMB	numeric(9,6) DEFAULT 0)

 CREATE TABLE #TWMOVI_CONT_Q02_2
 ( CO_CLAV      varchar(2) NULL,
   CO_0001 	varchar(20) NULL,
   CO_0002 	varchar(20) NULL,
   CO_0003 	varchar(20) NULL,
   CO_0004 	varchar(20) NULL,
   CO_0005 	varchar(20) NULL,
   CO_0006 	varchar(20) NULL,
   CO_0007 	varchar(20) NULL,
   CO_TIPO_OPER varchar(3) NULL,
   FE_OPER	datetime NULL,
   CO_MONE 	varchar(3) NULL,
   IM_TESO 	numeric(16,4) DEFAULT 0,
   IM_CONT 	numeric(16,4) DEFAULT 0,
   FA_TIPO_CAMB	numeric(9,6) DEFAULT 0)



/* -------- SOLO SE COMPARA CON LA CUENTA DE LA CAJA EN EL VOUCHER CONTABLE   --------- */
If @ISST_CAJA = 'S' 
Begin

  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT)
  SELECT   '11',   T1.CO_CAJA, NULL, T1.AA_CAJA, T1.MM_CAJA, T1.TI_MOVI, T1.NU_COMP_CAJA, '1', 
	T1.CO_TIPO_OPER, T1.FE_OPER, T4.CO_MONE_DEFA, 
	(SELECT Dbo.FN_TCFACT_CAMB_Q02(T2.CO_MONE, T4.CO_MONE_DEFA, T1.FE_OPER,   
	T1.IM_MOVI, T4.TI_CAMB, T4.TI_ORIG, 'S', T4.CO_MONE_DEFA, T4.CO_MONE_EXTR, T1.FA_TIPO_CAMB)),
	T3.IM_MVTO_CNTB
  FROM  TCMOVI_CAJA T1, TMCAJA T2, (SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
				CO_CNTA_EMPR, IM_MVTO_CNTB
				FROM TXMVTO_CNTB
				WHERE CO_EMPR = @ISCO_EMPR
				AND NU_CNTB_EMPR = 1
				AND NU_ANNO = @INNU_ANNO
				AND NU_MESE = @INNU_MESE
				AND SI_MVTO_CNTB = 'APR'
				AND NU_PROC = 0
				AND CO_TABL_ORIG = 11) T3,
  TMPARA_TESO T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_OPER) = @INNU_MESE
  AND   YEAR  (T1.FE_OPER) = @INNU_ANNO
  AND 	T1.CO_TIPO_OPER != '998' 
  AND 	T1.CO_TIPO_OPER != '999' 
  AND 	T1.TI_SITU != 'ANU' 
  AND 	T1.CO_EMPR = T2.CO_EMPR
  AND 	T1.CO_CAJA = T2.CO_CAJA
  AND   T1.CO_EMPR = T3.CO_EMPR
  AND   T1.CO_UNID_CONC = T3.CO_UNID_CNTB
  AND   LEFT(T1.NU_COMP_CAJA, 3) = T3.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_COMP_CAJA, 5) = T3.NU_ASTO
  AND   T2.CO_CNTA_EMPR = T3.CO_CNTA_EMPR
  AND   T1.CO_EMPR = T4.CO_EMPR

End

/* -------- SOLO SE COMPARA CON LA CUENTA DE LA CUENTA BANCARIA EN EL VOUCHER CONTABLE   --------- */
If @ISST_BANC = 'S' 
Begin

  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT)
  SELECT  '9',  T1.CO_BANC, T1.NU_CNTA_BANC, T1.AA_BNCO, T1.MM_BNCO, T1.TI_MOVI_BANC, T1.NU_COMP_BANC,  '2',
	T1.CO_TIPO_OPER, T1.FE_OPER, T4.CO_MONE_DEFA, 
	(SELECT Dbo.FN_TCFACT_CAMB_Q02(T2.CO_MONE, T4.CO_MONE_DEFA, T1.FE_OPER,   
	T1.IM_MOVI, T4.TI_CAMB, T4.TI_ORIG, 'S', T4.CO_MONE_DEFA, T4.CO_MONE_EXTR, T1.FA_TIPO_CAMB)),
	T3.IM_MVTO_CNTB
  FROM  TCMOVI_BANC T1, TMCNTA_BANC T2, (SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
				CO_CNTA_EMPR, IM_MVTO_CNTB
				FROM TXMVTO_CNTB
				WHERE CO_EMPR = @ISCO_EMPR
				AND NU_CNTB_EMPR = 1
				AND NU_ANNO = @INNU_ANNO
				AND NU_MESE = @INNU_MESE
				AND SI_MVTO_CNTB = 'APR'
				AND NU_PROC = 0
				AND CO_TABL_ORIG = 9) T3,
  TMPARA_TESO T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_OPER) = @INNU_MESE
  AND   YEAR  (T1.FE_OPER) = @INNU_ANNO
  AND 	T1.CO_TIPO_OPER != '998' 
  AND 	T1.CO_TIPO_OPER != '999' 
  AND 	T1.TI_SITU != 'ANU' 
  AND	T1.CO_EMPR = T2.CO_EMPR
  AND	T1.CO_BANC = T2.CO_BANC
  AND	T1.NU_CNTA_BANC = T2.NU_CNTA_BANC
  AND   T1.CO_EMPR = T3.CO_EMPR
  AND   T1.CO_UNID_CONC = T3.CO_UNID_CNTB
  AND   LEFT(T1.NU_COMP_BANC, 3) = T3.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_COMP_BANC, 5) = T3.NU_ASTO
  AND   T2.CO_CNTA_EMPR = T3.CO_CNTA_EMPR
  AND   T1.CO_EMPR = T4.CO_EMPR

End


If @ISST_CXCB = 'S' 
Begin

/* -------- APLICACION ANTICIPOS CLIENTES - SOLO SE CONSIDERAN LOS DOCUMENTOS DE LA CUENTA DE ANTICIPO DEL VOUCHER  --------- */
  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '32', T1.NU_AMAR, NULL,NULL,NULL,NULL,NULL, '3',
	Max(T2.CO_TIPO_OPER), T1.FE_AMAR, Max(T3.CO_MONE), Sum(T1.IM_DETA_NEGA),
	Max(T4.IM_MVTO_CNTB), Max(T2.FA_TIPO_CAMB)
  FROM   TDAMAR_ANTC T1, TCAMAR_ANTC T2, TMCNTA_BANC T3, 
		(SELECT T6.CO_EMPR, T6.CO_UNID_CNTB, T6.CO_OPRC_CNTB, T6.NU_ANNO, T6.NU_MESE, T6.NU_ASTO,
		SUM(PATINDEX(T6.TI_OPER, 'CAR') * T6.IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB T6, TTDOCU_CNTB T7 
		WHERE T6.CO_EMPR = @ISCO_EMPR
		AND T6.NU_CNTB_EMPR = 1
		AND T6.NU_ANNO = @INNU_ANNO
		AND T6.NU_MESE = @INNU_MESE
		AND T6.SI_MVTO_CNTB = 'APR'
		AND T6.NU_PROC = 0
		AND T6.CO_TABL_ORIG = 32
		AND T6.TI_DOCU = T7.TI_DOCU
		AND (T7.ST_DOCU_0017 = 'S'
		OR  T7.ST_BANC = 'S')
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE  T1.CO_EMPR = @ISCO_EMPR
  AND    T1.CO_EMPR = T2.CO_EMPR
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND    T1.NU_AMAR = T2.NU_AMAR
  AND    T1.FE_AMAR = T2.FE_AMAR
  AND    T2.CO_TIPO_OPER != '998'
  AND    T2.CO_TIPO_OPER != '999'
  AND    T2.TI_SITU != 'ANU'
  AND    T2.CO_BANC IS NOT NULL
  AND    T2.CO_EMPR = T3.CO_EMPR
  AND    T2.CO_BANC = T3.CO_BANC
  AND    T2.NU_CNTA_BANC = T3.NU_CNTA_BANC
  AND   T2.CO_EMPR = T4.CO_EMPR
  AND   T2.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T2.NU_AMAR, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T2.NU_AMAR, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.NU_AMAR, T1.FE_AMAR

/* -------- DOCUMENTOS CLIENTES  --------- */
  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '29',  T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, NULL,NULL,NULL, '3',
	T1.CO_TIPO_OPER, T1.FE_EMIS, T5.CO_MONE_DEFA, 
	(SELECT Dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, T5.CO_MONE_DEFA, T1.FE_EMIS,   
	T1.IM_TOTA, T5.TI_CAMB, T5.TI_ORIG, 'S', T5.CO_MONE_DEFA, T5.CO_MONE_EXTR, T1.FA_TIPO_CAMB)),
	T4.IM_MVTO_CNTB, T1.FA_TIPO_CAMB
  FROM  TMDOCU_CLIE T1, (SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
			SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
			FROM TXMVTO_CNTB 
			WHERE CO_EMPR = @ISCO_EMPR
			AND NU_CNTB_EMPR = 1
			AND NU_ANNO = @INNU_ANNO
			AND NU_MESE = @INNU_MESE
			AND SI_MVTO_CNTB = 'APR'
			AND NU_PROC = 0
			AND CO_TABL_ORIG = 29
			GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4, TMPARA_TESO T5
  WHERE T1.CO_EMPR =  @ISCO_EMPR
  AND  MONTH (T1.FE_EMIS) =  @INNU_MESE
  AND  YEAR  (T1.FE_EMIS) = @INNU_ANNO
  AND  T1.CO_TIPO_OPER != '998'
  AND  T1.CO_TIPO_OPER != '999'
  AND  T1.CO_ESTA_DOCU != 'ANU'
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_ASTO, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_ASTO, 5) = T4.NU_ASTO
  AND   T1.CO_EMPR = T5.CO_EMPR


/* -------- RENOVACION, SOLO SE COMPARA CON LAS CUENTAS DE LAS LETRAS EN EL VOUCHER CONTABLE --------- */
  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '25', T1.CO_CLIE, T1.NU_RENO , NULL,NULL,NULL,NULL, '3',
	Max(T1.CO_TIPO_OPER), T1.FE_RENO, Max(T1.CO_MONE), Sum( (PatIndex(T3.ST_SIGN, 'S') - PatIndex(T3.ST_SIGN, 'N')) * T2.IM_RENO_MREN),
	Max(T4.IM_MVTO_CNTB), Max(T1.FA_TIPO_CAMB)
  FROM  TCRENO_CLIE T1, TDRENO_CLIE T2, TTDOCU_CNTB T3, 
		(SELECT T6.CO_EMPR, T6.CO_UNID_CNTB, T6.CO_OPRC_CNTB, T6.NU_ANNO, T6.NU_MESE, T6.NU_ASTO,
		SUM(PATINDEX(T6.TI_OPER, 'CAR') * T6.IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB T6, TTDOCU_CNTB T7 
		WHERE T6.CO_EMPR = @ISCO_EMPR
		AND T6.NU_CNTB_EMPR = 1
		AND T6.NU_ANNO = @INNU_ANNO
		AND T6.NU_MESE = @INNU_MESE
		AND T6.SI_MVTO_CNTB = 'APR'
		AND T6.NU_PROC = 0
		AND T6.CO_TABL_ORIG = 25
		AND T6.TI_DOCU = T7.TI_DOCU
		AND T7.ST_DOCU_0006 = 'S'
		AND T6.CO_CNTA_EMPR LIKE '12%'
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_RENO) = @INNU_MESE
  AND   YEAR  (T1.FE_RENO) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.TI_SITU != 'ANU'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND   T1.CO_CLIE = T2.CO_CLIE
  AND   T1.NU_RENO = T2.NU_RENO
  AND   T1.FE_RENO = T2.FE_RENO
  AND   T2.CO_TIPO_DOCU = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_RENO, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_RENO, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.CO_CLIE, T1.NU_RENO, T1.FE_RENO


/* -------- CANJE, SOLO SE COMPARA CON LAS CUENTAS DE LAS LETRAS EN EL VOUCHER CONTABLE --------- */
  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '19',    T1.CO_CLIE, T1.NU_CANJ, NULL,NULL,NULL,NULL, '3',
	Max(T1.CO_TIPO_OPER), T1.FE_CANJ, Max(T1.CO_MONE), Sum( (PatIndex(T3.ST_SIGN, 'S') - PatIndex(T3.ST_SIGN, 'N')) * T2.IM_CANJ_MCAN),
	Max(T4.IM_MVTO_CNTB), Max(T1.FA_TIPO_CAMB)
  FROM  TCCANJ_CLIE T1, TDCANJ_CLIE T2, TTDOCU_CNTB T3, 
		(SELECT T6.CO_EMPR, T6.CO_UNID_CNTB, T6.CO_OPRC_CNTB, T6.NU_ANNO, T6.NU_MESE, T6.NU_ASTO,
		SUM(PATINDEX(T6.TI_OPER, 'CAR') * T6.IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB T6, TTDOCU_CNTB T7 
		WHERE T6.CO_EMPR = @ISCO_EMPR
		AND T6.NU_CNTB_EMPR = 1
		AND T6.NU_ANNO = @INNU_ANNO
		AND T6.NU_MESE = @INNU_MESE
		AND T6.SI_MVTO_CNTB = 'APR'
		AND T6.NU_PROC = 0
		AND T6.CO_TABL_ORIG = 19
		AND T6.TI_DOCU = T7.TI_DOCU
		AND T7.ST_DOCU_0006 = 'S'
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
 WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_CANJ) = @INNU_MESE
  AND   YEAR  (T1.FE_CANJ) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.TI_SITU != 'ANU'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND   T1.CO_CLIE = T2.CO_CLIE
  AND   T1.NU_CANJ = T2.NU_CANJ
  AND   T1.FE_CANJ = T2.FE_CANJ
  AND   T2.CO_TIPO_DOCU = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_CANJ, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_CANJ, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.CO_CLIE, T1.NU_CANJ, T1.FE_CANJ


  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '21',    T1.NU_AMAR, NULL,NULL,NULL,NULL,NULL, '3',
	Max(T1.CO_TIPO_OPER), T1.FE_AMAR, Max(T1.CO_MONE), Sum(T2.IM_COBR_ORIG),
	Max(T4.IM_MVTO_CNTB), Max(T1.FA_TIPO_CAMB)
  FROM   TCAMAR_NCCL T1, TDAMAR_NCCL T2, TTDOCU_CNTB T3, 
		(SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
		SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB 
		WHERE CO_EMPR = @ISCO_EMPR
		AND NU_CNTB_EMPR = 1
		AND NU_ANNO = @INNU_ANNO
		AND NU_MESE = @INNU_MESE
		AND SI_MVTO_CNTB = 'APR'
		AND NU_PROC = 0
		AND CO_TABL_ORIG = 21
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE  T1.CO_EMPR = @ISCO_EMPR
  AND    MONTH (T1.FE_AMAR) = @INNU_MESE
  AND    YEAR  (T1.FE_AMAR) = @INNU_ANNO
  AND    T1.CO_TIPO_OPER != '998'
  AND    T1.CO_TIPO_OPER != '999'
  AND    T1.TI_SITU != 'ANU'
  AND    T1.CO_EMPR = T2.CO_EMPR
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND    T1.NU_AMAR = T2.NU_AMAR
  AND    T1.FE_AMAR = T2.FE_AMAR
  AND    T2.CO_TIDO_ORIG IS NOT NULL
  AND    T2.CO_TIDO_ORIG = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_AMAR, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_AMAR, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.NU_AMAR, T1.FE_AMAR


  Insert Into #TWMOVI_CONT_Q02_2(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '34',    T1.NU_CORR_MODI, NULL , NULL,NULL,NULL,NULL, '3',
	T1.CO_TIPO_OPER, T1.FE_MODI, T3.CO_MONE_DEFA, (Select (Dbo.FN_TCFACT_CAMB_Q02 (T2.CO_MONE, 
	T3.CO_MONE_DEFA, T1.FE_MODI, T2.IM_TOTA, 'V', 'O', 'S', T3.CO_MONE_DEFA, T3.CO_MONE_EXTR, T1.FA_TIPO_CAMB))),
	T4.IM_MVTO_CNTB, T1.FA_TIPO_CAMB
  FROM  TDMODI_DOCU T1, TMLETR_CLIE T2, TMPARA_TESO T3, 
		(SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
		SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB 
		WHERE CO_EMPR = @ISCO_EMPR
		AND NU_CNTB_EMPR = 1
		AND NU_ANNO = @INNU_ANNO
		AND NU_MESE = @INNU_MESE
		AND SI_MVTO_CNTB = 'APR'
		AND NU_PROC = 0
		AND CO_TABL_ORIG = 34
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_MODI) =  @INNU_MESE
  AND   YEAR  (T1.FE_MODI) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_CLIE = T2.CO_CLIE
  AND   T1.CO_TIPO_DOCU = 'LET'
  AND   T1.NU_DOCU_CLIE = T2.NU_LETR_CLIE
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_CORR_MODI, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_CORR_MODI, 5) = T4.NU_ASTO
  AND   T1.CO_EMPR = T3.CO_EMPR


  Insert Into #TWMOVI_CONT_Q02_2(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '34',    T1.NU_CORR_MODI, NULL , NULL,NULL,NULL,NULL, '3',
	T1.CO_TIPO_OPER, T1.FE_MODI, T5.CO_MONE_DEFA, (Select (Dbo.FN_TCFACT_CAMB_Q02 (T2.CO_MONE, 
	T5.CO_MONE_DEFA, T1.FE_MODI, T2.IM_TOTA, 'V', 'O', 'S', T5.CO_MONE_DEFA, T5.CO_MONE_EXTR, T1.FA_TIPO_CAMB))),
	T4.IM_MVTO_CNTB, T1.FA_TIPO_CAMB
  FROM  TDMODI_DOCU T1, TMDOCU_CLIE T2, TTDOCU_CNTB T3, 
		(SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
		SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB 
		WHERE CO_EMPR = @ISCO_EMPR
		AND NU_CNTB_EMPR = 1
		AND NU_ANNO = @INNU_ANNO
		AND NU_MESE = @INNU_MESE
		AND SI_MVTO_CNTB = 'APR'
		AND NU_PROC = 0
		AND CO_TABL_ORIG = 34
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4, TMPARA_TESO T5
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_MODI) =  @INNU_MESE
  AND   YEAR  (T1.FE_MODI) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_CLIE = T2.CO_CLIE
  AND   T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU
  AND   T1.NU_DOCU_CLIE = T2.NU_DOCU_CLIE
  AND   T2.CO_TIPO_DOCU = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_CORR_MODI, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_CORR_MODI, 5) = T4.NU_ASTO
  AND   T1.CO_EMPR = T5.CO_EMPR


  Insert Into #TWMOVI_CONT_Q02_2(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '21',    T1.NU_AMAR, NULL,NULL,NULL,NULL,NULL, '3',
	T1.CO_TIPO_OPER, T1.FE_AMAR, T5.CO_MONE_DEFA, (Select (Dbo.FN_TCFACT_CAMB_Q02 (T2.CO_MONE_LETR, 
	T5.CO_MONE_DEFA, T1.FE_AMAR, T2.IM_LETR, T5.TI_CAMB, T5.TI_ORIG, 'S', T5.CO_MONE_DEFA, T5.CO_MONE_EXTR, T1.FA_TIPO_CAMB))),
	T4.IM_MVTO_CNTB, T1.FA_TIPO_CAMB
  FROM  TCANTC_LETR T1, TDANTC_LETR T2, 
		(SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
		SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB 
		WHERE CO_EMPR = @ISCO_EMPR
		AND NU_CNTB_EMPR = 1
		AND NU_ANNO = @INNU_ANNO
		AND NU_MESE = @INNU_MESE
		AND SI_MVTO_CNTB = 'APR'
		AND NU_PROC = 0
		AND CO_TABL_ORIG = 21
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4, TMPARA_TESO T5
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_AMAR) = @INNU_MESE
  AND   YEAR  (T1.FE_AMAR) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.TI_SITU != 'ANU'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND   T1.NU_AMAR = T2.NU_AMAR
  AND   T1.FE_AMAR = T2.FE_AMAR
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_AMAR, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_AMAR, 5) = T4.NU_ASTO
  AND   T1.CO_EMPR = T5.CO_EMPR


  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  Select CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	Max(CO_TIPO_OPER), FE_OPER, CO_MONE, Isnull(Sum(Isnull(IM_TESO, 0)), 0), Max(IM_CONT),
	Max(FA_TIPO_CAMB)
  From #TWMOVI_CONT_Q02_2
  Group By CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	FE_OPER, CO_MONE
End


If @ISST_CXPA = 'S'
Begin
  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '27', T1.NU_AMAR, NULL,NULL,NULL,NULL,NULL, '4',
	Max(T1.CO_TIPO_OPER), T1.FE_AMAR, Max(T1.CO_MONE), Sum(T2.IM_PAGO_CORI),
	Max(T4.IM_MVTO_CNTB), Max(T1.FA_TIPO_CAMB)
  FROM    TCAMAR_OCPR T1, TDAMAR_OCPR T2, TTDOCU_CNTB T3, 
		(SELECT T6.CO_EMPR, T6.CO_UNID_CNTB, T6.CO_OPRC_CNTB, T6.NU_ANNO, T6.NU_MESE, T6.NU_ASTO,
		SUM(PATINDEX(T6.TI_OPER, 'ABO') * T6.IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB T6, TTDOCU_CNTB T7 
		WHERE T6.CO_EMPR = @ISCO_EMPR
		AND T6.NU_CNTB_EMPR = 1
		AND T6.NU_ANNO = @INNU_ANNO
		AND T6.NU_MESE = @INNU_MESE
		AND T6.SI_MVTO_CNTB = 'APR'
		AND T6.NU_PROC = 0
		AND T6.CO_TABL_ORIG = 27
		AND T6.TI_DOCU = T7.TI_DOCU
		AND (T7.ST_DOCU_0015 = 'S'
		OR  T7.ST_DOCU_0017 = 'S')
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE  T1.CO_EMPR = @ISCO_EMPR
  AND    MONTH (T1.FE_AMAR) = @INNU_MESE
  AND    YEAR  (T1.FE_AMAR) = @INNU_ANNO
  AND    T1.CO_TIPO_OPER != '998'
  AND    T1.CO_TIPO_OPER != '999'
  AND    T1.TI_SITU != 'ANU'
  AND    T1.CO_EMPR = T2.CO_EMPR
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND    T1.NU_AMAR = T2.NU_AMAR
  AND    T1.FE_AMAR = T2.FE_AMAR
  AND    T2.CO_TIDO_ORIG IS NOT NULL
  AND    T2.CO_TIDO_ORIG = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_AMAR, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_AMAR, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.NU_AMAR, T1.FE_AMAR


/* -------- RENOVACION, SOLO SE COMPARA CON LAS CUENTAS DE LAS LETRAS EN EL VOUCHER CONTABLE --------- */
  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '23', T1.CO_PROV, T1.NU_RENO, NULL,NULL,NULL,NULL, '4',
	Max(T1.CO_TIPO_OPER), T1.FE_RENO, Max(T1.CO_MONE), Sum( (PatIndex(T3.ST_SIGN, 'S') - PatIndex(T3.ST_SIGN, 'N')) * T2.IM_RENO_MREN),
	Max(T4.IM_MVTO_CNTB), Max(T1.FA_TIPO_CAMB)
  FROM   TCRENO_PROV T1, TDRENO_PROV T2, TTDOCU_CNTB T3, 
		(SELECT T6.CO_EMPR, T6.CO_UNID_CNTB, T6.CO_OPRC_CNTB, T6.NU_ANNO, T6.NU_MESE, T6.NU_ASTO,
		SUM(PATINDEX(T6.TI_OPER, 'ABO') * T6.IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB T6, TTDOCU_CNTB T7 
		WHERE T6.CO_EMPR = @ISCO_EMPR
		AND T6.NU_CNTB_EMPR = 1
		AND T6.NU_ANNO = @INNU_ANNO
		AND T6.NU_MESE = @INNU_MESE
		AND T6.SI_MVTO_CNTB = 'APR'
		AND T6.NU_PROC = 0
		AND T6.CO_TABL_ORIG = 23
		AND T6.TI_DOCU = T7.TI_DOCU
		AND T7.ST_DOCU_0006 = 'S'
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_RENO) = @INNU_MESE
  AND   YEAR  (T1.FE_RENO) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.TI_SITU != 'ANU'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND   T1.CO_PROV = T2.CO_PROV
  AND   T1.NU_RENO = T2.NU_RENO
  AND   T1.FE_RENO = T2.FE_RENO
  AND   T2.CO_TIPO_DOCU = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_RENO, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_RENO, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.CO_PROV, T1.NU_RENO, T1.FE_RENO


/* -------- CANJE, SOLO SE COMPARA CON LAS CUENTAS DE LAS LETRAS EN EL VOUCHER CONTABLE --------- */
  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '15',   T1.CO_PROV, T1.NU_CANJ, NULL,NULL,NULL,NULL, '4',
	Max(T1.CO_TIPO_OPER), T1.FE_CANJ, Max(T1.CO_MONE), Sum( (PatIndex(T3.ST_SIGN, 'S') - PatIndex(T3.ST_SIGN, 'N')) * T2.IM_CANJ_MCAN),
	Max(T4.IM_MVTO_CNTB), Max(T1.FA_TIPO_CAMB)
  FROM   TCCANJ_PROV T1, TDCANJ_PROV T2, TTDOCU_CNTB T3, 
		(SELECT T6.CO_EMPR, T6.CO_UNID_CNTB, T6.CO_OPRC_CNTB, T6.NU_ANNO, T6.NU_MESE, T6.NU_ASTO,
		SUM(PATINDEX(T6.TI_OPER, 'ABO') * T6.IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB T6, TTDOCU_CNTB T7 
		WHERE T6.CO_EMPR = @ISCO_EMPR
		AND T6.NU_CNTB_EMPR = 1
		AND T6.NU_ANNO = @INNU_ANNO
		AND T6.NU_MESE = @INNU_MESE
		AND T6.SI_MVTO_CNTB = 'APR'
		AND T6.NU_PROC = 0
		AND T6.CO_TABL_ORIG = 15
		AND T6.TI_DOCU = T7.TI_DOCU
		AND T7.ST_DOCU_0006 = 'S'
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_CANJ) = @INNU_MESE
  AND   YEAR  (T1.FE_CANJ) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.TI_SITU != 'ANU'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND   T1.CO_PROV = T2.CO_PROV
  AND   T1.NU_CANJ = T2.NU_CANJ
  AND   T1.FE_CANJ = T2.FE_CANJ
  AND   T2.CO_TIPO_DOCU = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_CANJ, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_CANJ, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.CO_PROV, T1.NU_CANJ, T1.FE_CANJ


  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '17', T1.NU_AMAR , NULL,NULL,NULL,NULL,NULL, '4',
	Max(T1.CO_TIPO_OPER), Max(T1.FE_AMAR), Max(T1.CO_MONE), Sum(T2.IM_PAGO_ORIG),
	Max(T4.IM_MVTO_CNTB), Max(T1.FA_TIPO_CAMB)
  FROM   TCAMAR_NCPR T1, TDAMAR_NCPR T2, TTDOCU_CNTB T3, 
		(SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
		SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB 
		WHERE CO_EMPR = @ISCO_EMPR
		AND NU_CNTB_EMPR = 1
		AND NU_ANNO = @INNU_ANNO
		AND NU_MESE = @INNU_MESE
		AND SI_MVTO_CNTB = 'APR'
		AND NU_PROC = 0
		AND CO_TABL_ORIG = 17
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE  T1.CO_EMPR = @ISCO_EMPR
  AND    MONTH (T1.FE_AMAR) = @INNU_MESE
  AND    YEAR  (T1.FE_AMAR) = @INNU_ANNO
  AND    T1.CO_TIPO_OPER != '998'
  AND    T1.CO_TIPO_OPER != '999'
  AND    T1.TI_SITU != 'ANU'
  AND    T1.CO_EMPR = T2.CO_EMPR
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND    T1.NU_AMAR = T2.NU_AMAR
  AND    T1.FE_AMAR = T2.FE_AMAR
  AND    T2.CO_TIDO_ORIG IS NOT NULL
  AND    T2.CO_TIDO_ORIG = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_AMAR, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_AMAR, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.NU_AMAR, T1.FE_AMAR


  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '3', T1.CO_PROV, T1.CO_TIPO_DOCU, T1.NU_DOCU_PROV , NULL,NULL,NULL, '4',
	T1.CO_TIPO_OPER, T1.FE_REGI_COMP, T5.CO_MONE_DEFA, 
	CASE T3.ST_DOCU_0010 WHEN 'N' THEN (SELECT Dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, T5.CO_MONE_DEFA, T1.FE_EMIS, T1.IM_TOTA, 
						T5.TI_CAMB, T5.TI_ORIG, 'S', T5.CO_MONE_DEFA, T5.CO_MONE_EXTR, T1.FA_TIPO_CAMB))
		ELSE (SELECT Dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, T5.CO_MONE_DEFA, T1.FE_EMIS, T1.IM_TOTA + T1.IM_IMP1 + T1.IM_IMP2, 
						T5.TI_CAMB, T5.TI_ORIG, 'S', T5.CO_MONE_DEFA, T5.CO_MONE_EXTR, T1.FA_TIPO_CAMB)) END,
	T4.IM_MVTO_CNTB, T1.FA_TIPO_CAMB
  FROM  TMDOCU_PROV T1, TTDOCU_CNTB T3, (SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
			SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
			FROM TXMVTO_CNTB 
			WHERE CO_EMPR = @ISCO_EMPR
			AND NU_CNTB_EMPR = 1
			AND NU_ANNO = @INNU_ANNO
			AND NU_MESE = @INNU_MESE
			AND SI_MVTO_CNTB = 'APR'
			AND NU_PROC = 0
			AND CO_TABL_ORIG = 3
			AND ST_GEST = 'N'
			AND ST_REDO = 'N'
			GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4, TMPARA_TESO T5
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_REGI_COMP) = @INNU_MESE
  AND   YEAR  (T1.FE_REGI_COMP) = @INNU_ANNO
  AND   T1.CO_TIPO_OPER != '998'
  AND   T1.CO_TIPO_OPER != '999'
  AND   T1.CO_ESTA_DOCU != 'ANU'
  AND   T1.CO_TIPO_DOCU = T3.TI_DOCU
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_ASTO, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_ASTO, 5) = T4.NU_ASTO
  AND   T1.CO_EMPR = T5.CO_EMPR


  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '1', T1.NU_REND_GAST, NULL,NULL,NULL,NULL,NULL, '4',
	Max(T2.CO_TIPO_OPER), T1.FE_REND_GAST, Max(T3.CO_MONE), SUM(T2.IM_CONV),
	Max(T4.IM_MVTO_CNTB), Max(T2.FA_CAMB_DOCU)
  FROM  TCREND_GAST T1, TDREND_GAST T2, TMCNTA_BANC T3, 
		(SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
		SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB 
		WHERE CO_EMPR = @ISCO_EMPR
		AND NU_CNTB_EMPR = 1
		AND NU_ANNO = @INNU_ANNO
		AND NU_MESE = @INNU_MESE
		AND SI_MVTO_CNTB = 'APR'
		AND NU_PROC = 0
		AND CO_TABL_ORIG = 1
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_REND_GAST) = @INNU_MESE
  AND   YEAR  (T1.FE_REND_GAST) = @INNU_ANNO
  AND   T1.TI_SITU != 'ANU'
  AND   T2.CO_TIPO_OPER != '998'
  AND   T2.CO_TIPO_OPER != '999'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND   T1.NU_REND_GAST = T2.NU_REND_GAST
  AND   T1.FE_REND_GAST = T2.FE_REND_GAST
  AND   T1.CO_BANC_DEST IS NOT NULL
  AND   T1.CO_EMPR_DEST = T3.CO_EMPR
  AND   T1.CO_BANC_DEST = T3.CO_BANC
  AND   T1.NU_CNTA_DEST = T3.NU_CNTA_BANC
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_REND_GAST, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_REND_GAST, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.NU_REND_GAST, T1.FE_REND_GAST


  Insert Into #TWMOVI_CONT_Q02_1(CO_CLAV, CO_0001, CO_0002, CO_0003, CO_0004, CO_0005, CO_0006, CO_0007, 
	CO_TIPO_OPER, FE_OPER, CO_MONE, IM_TESO, IM_CONT, FA_TIPO_CAMB)
  SELECT '1', T1.NU_REND_GAST, NULL,NULL,NULL,NULL,NULL, '4',
	Max(T2.CO_TIPO_OPER), T1.FE_REND_GAST, Max(T3.CO_MONE), SUM(T2.IM_CONV),
	Max(T4.IM_MVTO_CNTB), Max(T2.FA_CAMB_DOCU)
  FROM  TCREND_GAST T1, TDREND_GAST T2, TMCAJA T3, 
		(SELECT CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,
		SUM(PATINDEX(TI_OPER, 'CAR') * IM_MVTO_CNTB) IM_MVTO_CNTB
		FROM TXMVTO_CNTB 
		WHERE CO_EMPR = @ISCO_EMPR
		AND NU_CNTB_EMPR = 1
		AND NU_ANNO = @INNU_ANNO
		AND NU_MESE = @INNU_MESE
		AND SI_MVTO_CNTB = 'APR'
		AND NU_PROC = 0
		AND CO_TABL_ORIG = 1
		GROUP BY CO_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO) T4
  WHERE T1.CO_EMPR = @ISCO_EMPR
  AND   MONTH (T1.FE_REND_GAST) = @INNU_MESE
  AND   YEAR  (T1.FE_REND_GAST) = @INNU_ANNO
  AND   T1.TI_SITU != 'ANU'
  AND   T2.CO_TIPO_OPER != '998'
  AND   T2.CO_TIPO_OPER != '999'
  AND   T1.CO_EMPR = T2.CO_EMPR
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC
  AND   T1.NU_REND_GAST = T2.NU_REND_GAST
  AND   T1.FE_REND_GAST = T2.FE_REND_GAST
  AND   T1.CO_CAJA_DEST IS NOT NULL
  AND   T1.CO_EMPR_DEST = T3.CO_EMPR
  AND   T1.CO_CAJA_DEST = T3.CO_CAJA
  AND   T1.CO_EMPR = T4.CO_EMPR
  AND   T1.CO_UNID_CONC = T4.CO_UNID_CNTB
  AND   LEFT(T1.NU_REND_GAST, 3) = T4.CO_OPRC_CNTB
  AND   '00000' + RIGHT(T1.NU_REND_GAST, 5) = T4.NU_ASTO
  GROUP BY T1.CO_EMPR, T1.CO_UNID_CONC, T1.NU_REND_GAST, T1.FE_REND_GAST

End

Update #TWMOVI_CONT_Q02_1
Set IM_TESO = (Select (Dbo.FN_TCFACT_CAMB_Q02 (T1.CO_MONE, T5.CO_MONE_DEFA, T1.FE_OPER, 
	T1.IM_TESO, T5.TI_CAMB, T5.TI_ORIG, 'S', T5.CO_MONE_DEFA, T5.CO_MONE_EXTR, T1.FA_TIPO_CAMB)))
From #TWMOVI_CONT_Q02_1 T1, TMPARA_TESO T5
Where T5.CO_EMPR = @ISCO_EMPR
And T1.CO_MONE != T5.CO_MONE_DEFA

Select T1.CO_CLAV, T1.CO_0001, T1.CO_0002, T1.CO_0003, T1.CO_0004, T1.CO_0005, T1.CO_0006, T1.CO_0007, 
	Convert(Varchar(10), T1.FE_OPER, 103), T1.IM_TESO, 
	T1.IM_CONT
From #TWMOVI_CONT_Q02_1 T1
Where Round(T1.IM_TESO, 2) != Round(T1.IM_CONT, 2)
ORDER BY T1.CO_0007, T1.CO_CLAV, T1.CO_TIPO_OPER

Return

/*------------------------------------------- FIN ---------------------------------------------------------------*/


GO
